<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MTB CAT1 Peripheral driver library: General</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen_style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><a href="http://www.cypress.com/"><img alt="Logo" src="IFXCYP_one-line.png"/></a></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">MTB CAT1 Peripheral driver library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__group__scb__i2c__general__functions.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">General<div class="ingroups"><a class="el" href="group__group__scb.html">SCB          (Serial Communication Block)</a> &raquo; <a class="el" href="group__group__scb__i2c.html">I2C (SCB)</a> &raquo; <a class="el" href="group__group__scb__i2c__functions.html">Functions</a></div></div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">General Description</h2>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga91fbfb16a78c014fd88681b83544c2f7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__group__scb__i2c__enums.html#gaf621eb0719ad9ad7178d02268575b247">cy_en_scb_i2c_status_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga91fbfb16a78c014fd88681b83544c2f7">Cy_SCB_I2C_Init</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, <a class="el" href="structcy__stc__scb__i2c__config__t.html">cy_stc_scb_i2c_config_t</a> const *config, <a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> *context)</td></tr>
<tr class="memdesc:ga91fbfb16a78c014fd88681b83544c2f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initializes the SCB for the I2C operation.  <a href="#ga91fbfb16a78c014fd88681b83544c2f7">More...</a><br /></td></tr>
<tr class="separator:ga91fbfb16a78c014fd88681b83544c2f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga28e922295117b710fa789a28c5e53ee6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga28e922295117b710fa789a28c5e53ee6">Cy_SCB_I2C_DeInit</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base)</td></tr>
<tr class="memdesc:ga28e922295117b710fa789a28c5e53ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">De-initializes the SCB block and returns register values to default.  <a href="#ga28e922295117b710fa789a28c5e53ee6">More...</a><br /></td></tr>
<tr class="separator:ga28e922295117b710fa789a28c5e53ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad14d83faab69d2ac96feede664df3687"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gad14d83faab69d2ac96feede664df3687">Cy_SCB_I2C_Enable</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base)</td></tr>
<tr class="memdesc:gad14d83faab69d2ac96feede664df3687"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables the SCB block for the I2C operation.  <a href="#gad14d83faab69d2ac96feede664df3687">More...</a><br /></td></tr>
<tr class="separator:gad14d83faab69d2ac96feede664df3687"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga914462cc121171d82335036e65d6ea78"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga914462cc121171d82335036e65d6ea78">Cy_SCB_I2C_Disable</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, <a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> *context)</td></tr>
<tr class="memdesc:ga914462cc121171d82335036e65d6ea78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables the SCB block and clears context statuses.  <a href="#ga914462cc121171d82335036e65d6ea78">More...</a><br /></td></tr>
<tr class="separator:ga914462cc121171d82335036e65d6ea78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9d71372b84c9c799b55283fc475f223"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gae9d71372b84c9c799b55283fc475f223">Cy_SCB_I2C_SetDataRate</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint32_t dataRateHz, uint32_t scbClockHz)</td></tr>
<tr class="memdesc:gae9d71372b84c9c799b55283fc475f223"><td class="mdescLeft">&#160;</td><td class="mdescRight">Configures the SCB to work at the desired data rate.  <a href="#gae9d71372b84c9c799b55283fc475f223">More...</a><br /></td></tr>
<tr class="separator:gae9d71372b84c9c799b55283fc475f223"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac84169736c13d5541254b8a9aaf97800"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gac84169736c13d5541254b8a9aaf97800">Cy_SCB_I2C_GetDataRate</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base, uint32_t scbClockHz)</td></tr>
<tr class="memdesc:gac84169736c13d5541254b8a9aaf97800"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the data rate for the selected SCB block.  <a href="#gac84169736c13d5541254b8a9aaf97800">More...</a><br /></td></tr>
<tr class="separator:gac84169736c13d5541254b8a9aaf97800"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab3a5702b5d391c483effdb30c547e483"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gab3a5702b5d391c483effdb30c547e483">Cy_SCB_I2C_SlaveSetAddress</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint8_t addr)</td></tr>
<tr class="memdesc:gab3a5702b5d391c483effdb30c547e483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the slave address for the I2C slave.  <a href="#gab3a5702b5d391c483effdb30c547e483">More...</a><br /></td></tr>
<tr class="separator:gab3a5702b5d391c483effdb30c547e483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad235b829c07aeeac0a7a3ddb8241b88d"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gad235b829c07aeeac0a7a3ddb8241b88d">Cy_SCB_I2C_SlaveGetAddress</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:gad235b829c07aeeac0a7a3ddb8241b88d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the slave address of the I2C slave.  <a href="#gad235b829c07aeeac0a7a3ddb8241b88d">More...</a><br /></td></tr>
<tr class="separator:gad235b829c07aeeac0a7a3ddb8241b88d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac4f31920b9a18ab01e0b9155bd59258e"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gac4f31920b9a18ab01e0b9155bd59258e">Cy_SCB_I2C_SlaveSetAddressMask</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint8_t addrMask)</td></tr>
<tr class="memdesc:gac4f31920b9a18ab01e0b9155bd59258e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the slave address mask for the I2C slave.  <a href="#gac4f31920b9a18ab01e0b9155bd59258e">More...</a><br /></td></tr>
<tr class="separator:gac4f31920b9a18ab01e0b9155bd59258e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga169deb4dae9c301ac0066dd952eb987d"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga169deb4dae9c301ac0066dd952eb987d">Cy_SCB_I2C_SlaveGetAddressMask</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:ga169deb4dae9c301ac0066dd952eb987d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the slave address mask.  <a href="#ga169deb4dae9c301ac0066dd952eb987d">More...</a><br /></td></tr>
<tr class="separator:ga169deb4dae9c301ac0066dd952eb987d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac8561c29752c84ccc49cc6a2042bf715"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gac8561c29752c84ccc49cc6a2042bf715">Cy_SCB_I2C_IsBusBusy</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:gac8561c29752c84ccc49cc6a2042bf715"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks whether the I2C bus is busy.  <a href="#gac8561c29752c84ccc49cc6a2042bf715">More...</a><br /></td></tr>
<tr class="separator:gac8561c29752c84ccc49cc6a2042bf715"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13706b2b65e812a846f92560b42c8826"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga13706b2b65e812a846f92560b42c8826">Cy_SCB_I2C_MasterSetLowPhaseDutyCycle</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint32_t clockCycles)</td></tr>
<tr class="memdesc:ga13706b2b65e812a846f92560b42c8826"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the number of SCB clock cycles in the low phase of SCL.  <a href="#ga13706b2b65e812a846f92560b42c8826">More...</a><br /></td></tr>
<tr class="separator:ga13706b2b65e812a846f92560b42c8826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac37d485d1fc071c88a7b0d4df1685e92"><td class="memItemLeft" align="right" valign="top">__STATIC_INLINE void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gac37d485d1fc071c88a7b0d4df1685e92">Cy_SCB_I2C_MasterSetHighPhaseDutyCycle</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *base, uint32_t clockCycles)</td></tr>
<tr class="memdesc:gac37d485d1fc071c88a7b0d4df1685e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function sets the number of SCB clock cycles in the high phase of SCL.  <a href="#gac37d485d1fc071c88a7b0d4df1685e92">More...</a><br /></td></tr>
<tr class="separator:gac37d485d1fc071c88a7b0d4df1685e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga22f1ebfff05be21316da5126807e78b6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga22f1ebfff05be21316da5126807e78b6">Cy_SCB_I2C_SetStretchThreshold</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base, uint32_t value)</td></tr>
<tr class="memdesc:ga22f1ebfff05be21316da5126807e78b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the stretch threshold value.  <a href="#ga22f1ebfff05be21316da5126807e78b6">More...</a><br /></td></tr>
<tr class="separator:ga22f1ebfff05be21316da5126807e78b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa2d07f085f4ffd0682a7047f77c3f450"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gaa2d07f085f4ffd0682a7047f77c3f450">Cy_SCB_I2C_GetStretchCount</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:gaa2d07f085f4ffd0682a7047f77c3f450"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides the stretch count.  <a href="#gaa2d07f085f4ffd0682a7047f77c3f450">More...</a><br /></td></tr>
<tr class="separator:gaa2d07f085f4ffd0682a7047f77c3f450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gade527ee35b573ec84b5142631a3e4d59"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gade527ee35b573ec84b5142631a3e4d59">Cy_SCB_I2C_IsStretchDetected</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:gade527ee35b573ec84b5142631a3e4d59"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if stretch is detected on I2C SCL.  <a href="#gade527ee35b573ec84b5142631a3e4d59">More...</a><br /></td></tr>
<tr class="separator:gade527ee35b573ec84b5142631a3e4d59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad69a133c6bcb6438a186bce6f785d7ac"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#gad69a133c6bcb6438a186bce6f785d7ac">Cy_SCB_I2C_IsSyncDetected</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:gad69a133c6bcb6438a186bce6f785d7ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if synchronization is detected on I2C SCL.  <a href="#gad69a133c6bcb6438a186bce6f785d7ac">More...</a><br /></td></tr>
<tr class="separator:gad69a133c6bcb6438a186bce6f785d7ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0dda1a9c2ce73e6ec0bf46229611c303"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__group__scb__i2c__general__functions.html#ga0dda1a9c2ce73e6ec0bf46229611c303">Cy_SCB_I2C_IsStretching</a> (<a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *base)</td></tr>
<tr class="memdesc:ga0dda1a9c2ce73e6ec0bf46229611c303"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if I2C SCL is stretched by the block.  <a href="#ga0dda1a9c2ce73e6ec0bf46229611c303">More...</a><br /></td></tr>
<tr class="separator:ga0dda1a9c2ce73e6ec0bf46229611c303"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga91fbfb16a78c014fd88681b83544c2f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga91fbfb16a78c014fd88681b83544c2f7">&#9670;&nbsp;</a></span>Cy_SCB_I2C_Init()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__group__scb__i2c__enums.html#gaf621eb0719ad9ad7178d02268575b247">cy_en_scb_i2c_status_t</a> Cy_SCB_I2C_Init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__i2c__config__t.html">cy_stc_scb_i2c_config_t</a> const *&#160;</td>
          <td class="paramname"><em>config</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initializes the SCB for the I2C operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">config</td><td>The pointer to the configuration structure <a class="el" href="structcy__stc__scb__i2c__config__t.html">cy_stc_scb_i2c_config_t</a>.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="group__group__scb__i2c__enums.html#gaf621eb0719ad9ad7178d02268575b247">cy_en_scb_i2c_status_t</a></dd></dl>
<dl class="section note"><dt>Note</dt><dd>If SCB is already enabled, ensure that the SCB block is disabled <a class="el" href="group__group__scb__i2c__general__functions.html#ga914462cc121171d82335036e65d6ea78">Cy_SCB_I2C_Disable</a> before calling this function. </dd></dl>

</div>
</div>
<a id="ga28e922295117b710fa789a28c5e53ee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga28e922295117b710fa789a28c5e53ee6">&#9670;&nbsp;</a></span>Cy_SCB_I2C_DeInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_I2C_DeInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>De-initializes the SCB block and returns register values to default. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Ensure that the SCB block is disabled <a class="el" href="group__group__scb__i2c__general__functions.html#ga914462cc121171d82335036e65d6ea78">Cy_SCB_I2C_Disable</a> before calling this function. </dd></dl>

</div>
</div>
<a id="gad14d83faab69d2ac96feede664df3687"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad14d83faab69d2ac96feede664df3687">&#9670;&nbsp;</a></span>Cy_SCB_I2C_Enable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_I2C_Enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Enables the SCB block for the I2C operation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Ensure SCB is initialized with <a class="el" href="group__group__scb__i2c__general__functions.html#ga91fbfb16a78c014fd88681b83544c2f7">Cy_SCB_I2C_Init</a> before calling this function </dd></dl>

</div>
</div>
<a id="ga914462cc121171d82335036e65d6ea78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga914462cc121171d82335036e65d6ea78">&#9670;&nbsp;</a></span>Cy_SCB_I2C_Disable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_I2C_Disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> *&#160;</td>
          <td class="paramname"><em>context</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Disables the SCB block and clears context statuses. </p>
<p>Note that after the block is disabled, the TX and RX FIFOs and hardware statuses are cleared. Also, the hardware stops driving the output and ignores the input.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">context</td><td>The pointer to the context structure <a class="el" href="structcy__stc__scb__i2c__context__t.html">cy_stc_scb_i2c_context_t</a> allocated by the user. The structure is used during the I2C operation for internal configuration and data retention. The user must not modify anything in this structure.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Calling this function when I2C is busy (master preforms transaction or slave was addressed and is communicating with master) may cause transaction corruption because the hardware stops driving the outputs and ignores the inputs. Ensure that I2C is not busy before calling this function. </dd></dl>

</div>
</div>
<a id="gae9d71372b84c9c799b55283fc475f223"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae9d71372b84c9c799b55283fc475f223">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SetDataRate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_SCB_I2C_SetDataRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>dataRateHz</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>scbClockHz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Configures the SCB to work at the desired data rate. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">dataRateHz</td><td>The desired data Rate in Hz.</td></tr>
    <tr><td class="paramname">scbClockHz</td><td>The frequency of the clock connected to the SCB in Hz.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The achieved data rate in Hz. <br />
When zero value is returned there is an error in the input parameters: data rate or clk_scb is out of valid range.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This function does not change the values of the clock divider connected to the SCB, it changes only the SCB clock oversample registers. If this function is not able to achieve the desired data rate, then the clock divider must be adjusted. Call this function only while the SCB is disabled. For the slave, this function only checks that the attached clock is fast enough to meet the desired data rate. It does not change any registers. </dd></dl>

</div>
</div>
<a id="gac84169736c13d5541254b8a9aaf97800"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac84169736c13d5541254b8a9aaf97800">&#9670;&nbsp;</a></span>Cy_SCB_I2C_GetDataRate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_SCB_I2C_GetDataRate </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>scbClockHz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the data rate for the selected SCB block. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">scbClockHz</td><td>The frequency of the clock connected to the SCB in Hz.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The data rate in Hz. <br />
For slave mode when zero value is returned the clk_scb is out of valid range. </dd></dl>

</div>
</div>
<a id="gab3a5702b5d391c483effdb30c547e483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab3a5702b5d391c483effdb30c547e483">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SlaveSetAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_I2C_SlaveSetAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>addr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the slave address for the I2C slave. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">addr</td><td>The 7-bit right justified slave address. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gad235b829c07aeeac0a7a3ddb8241b88d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad235b829c07aeeac0a7a3ddb8241b88d">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SlaveGetAddress()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_SCB_I2C_SlaveGetAddress </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the slave address of the I2C slave. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 7-bit right justified slave address. </dd></dl>

</div>
</div>
<a id="gac4f31920b9a18ab01e0b9155bd59258e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac4f31920b9a18ab01e0b9155bd59258e">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SlaveSetAddressMask()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_I2C_SlaveSetAddressMask </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&#160;</td>
          <td class="paramname"><em>addrMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the slave address mask for the I2C slave. </p>
<p>The LSBit must always be 0. In all other bit positions a 1 indicates that the incoming address must match the corresponding bit in the slave address. A 0 in the mask means that the incoming address does not need to match. Example Slave Address = 0x0C. Slave Address Mask = 0x08. This means that the hardware will accept both 0x08 and 0x0C as valid addresses.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">addrMask</td><td>The 8-bit address mask, the upper 7 bits correspond to the slave address. LSBit must always be 0. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga169deb4dae9c301ac0066dd952eb987d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga169deb4dae9c301ac0066dd952eb987d">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SlaveGetAddressMask()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE uint32_t Cy_SCB_I2C_SlaveGetAddressMask </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the slave address mask. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The 8-bit address mask, the upper 7 bits correspond to the slave address. LSBit must always be 0. </dd></dl>

</div>
</div>
<a id="gac8561c29752c84ccc49cc6a2042bf715"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac8561c29752c84ccc49cc6a2042bf715">&#9670;&nbsp;</a></span>Cy_SCB_I2C_IsBusBusy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE bool Cy_SCB_I2C_IsBusBusy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks whether the I2C bus is busy. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A bus status: busy or not busy.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>After the SCB block is enabled or reset, the valid bus busy-status returns after half of the SCL period. </dd></dl>

</div>
</div>
<a id="ga13706b2b65e812a846f92560b42c8826"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga13706b2b65e812a846f92560b42c8826">&#9670;&nbsp;</a></span>Cy_SCB_I2C_MasterSetLowPhaseDutyCycle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_I2C_MasterSetLowPhaseDutyCycle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>clockCycles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the number of SCB clock cycles in the low phase of SCL. </p>
<p>If <a class="el" href="group__group__scb__i2c__general__functions.html#gae9d71372b84c9c799b55283fc475f223">Cy_SCB_I2C_SetDataRate</a> is called after this function, the values specified in this function are overwritten.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">clockCycles</td><td>The number of SCB clock cycles in the low phase of SCL. The valid range is 7 to 16.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function should be used at your own risk. Changing the number of clock cycles in a phase of SCL may violate the I2C specification. Make this change only while the block is disabled.</dd></dl>
<p>Please refer to the section <a class="el" href="group__group__scb__i2c.html#group_scb_i2c_mclk_sync">I2C Master Clock Synchronization</a> for more information. </p>

</div>
</div>
<a id="gac37d485d1fc071c88a7b0d4df1685e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac37d485d1fc071c88a7b0d4df1685e92">&#9670;&nbsp;</a></span>Cy_SCB_I2C_MasterSetHighPhaseDutyCycle()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__STATIC_INLINE void Cy_SCB_I2C_MasterSetHighPhaseDutyCycle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>clockCycles</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the number of SCB clock cycles in the high phase of SCL. </p>
<p>If <a class="el" href="group__group__scb__i2c__general__functions.html#gae9d71372b84c9c799b55283fc475f223">Cy_SCB_I2C_SetDataRate</a> is called after this function, the values specified in this function get overwritten.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">clockCycles</td><td>The number of SCB clock cycles in the high phase of SCL. The valid range is 5 to 16.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>This function should be used at your own risk. Changing the number of clock cycles in a phase of SCL may violate the I2C specification. Make this change only while the block is disabled. </dd></dl>

</div>
</div>
<a id="ga22f1ebfff05be21316da5126807e78b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga22f1ebfff05be21316da5126807e78b6">&#9670;&nbsp;</a></span>Cy_SCB_I2C_SetStretchThreshold()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Cy_SCB_I2C_SetStretchThreshold </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the stretch threshold value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
    <tr><td class="paramname">value</td><td>The stretch threshold value to be set. Typically it is the SCL turaround delay (including IO cell delay, SCL rise time, analog filter delay), in number of clk_scb cycles.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>The STRETCH_THRESHOLD value is 0 by default. If there is no device stretching the SCL bus, the delay between SCL output and input are reported in STRETCH_COUNT <a class="el" href="group__group__scb__i2c__general__functions.html#gaa2d07f085f4ffd0682a7047f77c3f450">Cy_SCB_I2C_GetStretchCount</a>, in number of clk_scb cycles, which can then be set as the STRETCH_THRESHOLD value.</li>
<li>The STRETCH_THRESHOLD value should be less than or equal to 0xFUL.</li>
<li>When STRETCH_COUNT <a class="el" href="group__group__scb__i2c__general__functions.html#gaa2d07f085f4ffd0682a7047f77c3f450">Cy_SCB_I2C_GetStretchCount</a> is higher than this STRETCH_THRESHOLD, STRETCH_DETECTED <a class="el" href="group__group__scb__i2c__general__functions.html#gade527ee35b573ec84b5142631a3e4d59">Cy_SCB_I2C_IsStretchDetected</a> will be set.</li>
</ul>
</dd>
<dd>
This API is available for CAT1B and CAT1D devices. </dd></dl>

</div>
</div>
<a id="gaa2d07f085f4ffd0682a7047f77c3f450"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa2d07f085f4ffd0682a7047f77c3f450">&#9670;&nbsp;</a></span>Cy_SCB_I2C_GetStretchCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t Cy_SCB_I2C_GetStretchCount </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Provides the stretch count. </p>
<p>The count is started when the I2C device begins to drive high phase on internal SCL output signal and is stalled when it detects high level on SCL input signal.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The stretch count.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for CAT1B and CAT1D devices. </dd></dl>

</div>
</div>
<a id="gade527ee35b573ec84b5142631a3e4d59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gade527ee35b573ec84b5142631a3e4d59">&#9670;&nbsp;</a></span>Cy_SCB_I2C_IsStretchDetected()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cy_SCB_I2C_IsStretchDetected </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if stretch is detected on I2C SCL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If true, stretch is detected; false otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for CAT1B and CAT1D devices. </dd></dl>

</div>
</div>
<a id="gad69a133c6bcb6438a186bce6f785d7ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad69a133c6bcb6438a186bce6f785d7ac">&#9670;&nbsp;</a></span>Cy_SCB_I2C_IsSyncDetected()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cy_SCB_I2C_IsSyncDetected </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if synchronization is detected on I2C SCL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If true, synchronization is detected; false otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for CAT1B and CAT1D devices. </dd></dl>

</div>
</div>
<a id="ga0dda1a9c2ce73e6ec0bf46229611c303"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0dda1a9c2ce73e6ec0bf46229611c303">&#9670;&nbsp;</a></span>Cy_SCB_I2C_IsStretching()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool Cy_SCB_I2C_IsStretching </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_cy_s_c_b___type.html">CySCB_Type</a> const *&#160;</td>
          <td class="paramname"><em>base</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Checks if I2C SCL is stretched by the block. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">base</td><td>The pointer to the I2C SCB instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>If true, I2C SCL is being stretch by the block, false otherwise.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API is available for CAT1B and CAT1D devices. </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part
<div id="nav-path" class="navpath">
    <ul>
        <li class="footer">
            Generated for <b>MTB CAT1 Peripheral driver library</b> by <b>Cypress Semiconductor Corporation</b>.
            All rights reserved.
        </li>
    </ul>
</div>
-->
</body>
</html>
